﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using vudu.Datos.Fachada;
using vudu.Logica.Clases;
using vudu.ClasesDominio;
using vudu.Logica.Excepciones;

namespace vudu.Logica.Comandos
{
    public class ComandoConsultarProfesoresEscuela : Comando<List<Profesor>>
    {
        #region Implementation of IComandoConsultarProfesoresEscuela

        private int _idEscuela;

        public int IdEscuela
        {
            get { return _idEscuela; }
            set { _idEscuela = value; }
        }

        public ComandoConsultarProfesoresEscuela (int idEscuela)
        {
            IdEscuela = idEscuela;
        }

        public override List<Profesor> Ejecutar()
        {
            EnlaceDatos fachada = new EnlaceDatos();
            List<Profesor> misprofesores = fachada.ConsultarTodosLosProfesoresDeEscuela(IdEscuela);
            if (misprofesores==null)
            {
                throw new ConexionExeption("No hay conexion con la base de datos");
            }
            if (misprofesores.Count==0)
            {
                throw  new NoHayProfesoresEscuelaException("No hay profesores asignados a esta Escuela");
            }

            return new EnlaceDatos().ConsultarTodosLosProfesoresDeEscuela(IdEscuela);
        }

        #endregion
    }
}